Miscellaneous istream utilities

Contents|Index|Previous|Next
Miscellaneous istream utilities

Use the following methods for housekeeping on istream objects.

int istream::gcount ()
Method

Report how many characters were read from this istream in the last unformatted input operation.

int istream::ipfx (int keepwhite)
Method

Ensure that the istream object is ready for reading; check for errors and end of file and flush any tied stream. ipfx skips whitespace if you specify 0 as the keepwhite argument, and ios::skipws is set for this stream.

To avoid skipping whitespace (regardless of the skipws setting on the stream), use 1 as the argument.

Call istream::ipfx to simplify writing your own methods for reading istream objects.

void istream::isfx ()
Method

A placeholder for compliance with the draft ANSI standard; this method does nothing whatever.

If you wish to write portable standard-conforming code on istream objects, call isfx after any operation that reads from an istream; ifistream::ipfx has any special effects that must be canceled when done, istream::isfx will cancel them.

istream& istream::ignore ([int n][,int delim])
Method

Discard some number of characters pending input. The first optional argument, n, specifies how many characters to skip.

The second optional argument, delim, specifies a ‘boundary’ character: ignore returns immediately if this character appears in the input.

By default, delim is EOF; that is, if you do not specify a second argument, only the count, n, restricts how much to ignore (while input is still available).

If you do not specify how many characters to ignore, ignore returns after discarding only one character.

istream& istream::putback (char ch)
Method

Attempts to back up one character, replacing the character backed-up over by ch. Returns EOF if this is not allowed. Putting back the most recently read character is always allowed. (This method corresponds to the C function, ungetc.)

istream& istream::unget ()
Method

Attempt to back up one character.

Top|Contents|Index|Previous|Next